package com.web.tools;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;


/**
 * 将时间类型的数据与String类型相互转换
 * 
 * @author liaom
 *
 */
public class TimeChangeUtil {
	//单例模式-饿汉式（静态常量）
	private final static TimeChangeUtil INSTANCE = new TimeChangeUtil();
    private TimeChangeUtil(){}
    public static TimeChangeUtil getInstance(){
        return INSTANCE;
    }
	//静态全局变量
	private SimpleDateFormat sdf;
	private Date date;
	private Logger logger = LoggerFactory.getLogger(TimeChangeUtil.class);
	
	/**
	 * 转换为 yyyy/MM/dd
	 * 
	 * @return
	 */
	
	public String TimeToSlash(Date date) {

		sdf = new SimpleDateFormat("yyyy/MM/dd");
		return sdf.format(date);
	}
	
	/**
	 * yyyy/MM/dd 转换为 时间
	 * 
	 * @return
	 */
	
	public Date SlashToTime(String str) {
		String format = "yyyy/MM/dd";//日期格式
		try {
			date = new SimpleDateFormat(format).parse(str);
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			logger.error("传入格式错误，参考yyyy/MM/dd");
		}
		return date;
	}

	/**
	 * 转换为 yyyy-MM-dd
	 * 
	 * @return
	 */
	public String TimeToBar(Date date) {

		sdf = new SimpleDateFormat("yyyy-MM-dd");
		return sdf.format(date);
	}
	
	/**
	 * yyyy-MM-dd 转换为 时间
	 * 
	 * @return
	 */
	public Date BarToTime(String str) {
		String format = "yyyy-MM-dd";//日期格式
		try {
			date = new SimpleDateFormat(format).parse(str);
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			logger.error("传入格式错误，参考yyyy-MM-dd");
		}
		return date;
	}

	/**
	 * 转换为 yyyy年MM月dd日
	 * 
	 * @return
	 */
	
	public String TimeToChina(Date date) {

		sdf = new SimpleDateFormat("yyyy年MM月dd日");
		return sdf.format(date);
	}
	
	/**
	 *  yyyy年MM月dd日 转为时间
	 * 
	 * @return
	 */
	
	public Date ChinaToTime(String str) {
		String format = "yyyy年MM月dd日 HH:mm:ss";//日期格式
		try {
			date = new SimpleDateFormat(format).parse(str);
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			logger.error("传入格式错误，参考yyyy年MM月dd日 HH:mm:ss");
		}
		return date;
	}
}
